package com.oa.pm.entity;


import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.enums.IdType;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.io.Serializable;


import java.util.Date;

import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableName;

import java.io.Serializable;

import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 劳动合同表
 * </p>
 *
 * @author syb123
 * @since 2019-01-22
 */
@Data
@TableName("pm_labor_contract")
@ApiModel(value = "劳动合同表")
public class LaborContract extends Model<LaborContract> {

    private static final long serialVersionUID = 1L;


    @ApiModelProperty(value = "主键")
    @TableId(value = "id", type = IdType.UUID)
    private String id;

    @ApiModelProperty(value = "用户id")
    private String userId;

    @ApiModelProperty(value = "劳动合同开始时间")
    private Date laborContractStartTime;

    @ApiModelProperty(value = "劳动合同结束时间")
    private Date laborContractEndTime;

    @ApiModelProperty(value = "劳动合同提醒时间")
    private Date laborContractReminderTime;

    @ApiModelProperty(value = "试用期结束时间")
    private Date probationPeriodEndTime;

    @ApiModelProperty(value = "试用期结束提醒时间")
    private Date probationPeriodEndRemindeTime;

    @ApiModelProperty(value = "已签合同次数")
    private Integer contractsSignedNum;

    @ApiModelProperty(value = "合同期种类（1-固定期限 2-咨询服务协议 3-无固定期限 4-雇佣协议 5-实习合同）")
    private String contractType;

    @ApiModelProperty(value = "是否续签(1-是   2-否)")
    private Integer isRenew;

    @ApiModelProperty(value = "备注")
    private String remake;

    @ApiModelProperty(value = "是否删除（1-已删除  2-未删除）")
    private Integer isDeleted;


    @Override
    protected Serializable pkVal() {
        return this.id;
    }

}